import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'index.dart';
import 'widgets/index.dart';
import '../../../common/utils/index.dart';
import '../../../common/values/index.dart';
import '../../../common/services/index.dart';

class SplashPage extends GetView<SplashController> {
  const SplashPage({super.key});

  // 主视图构建方法
  Widget _buildView() {
    return Container(
      width: double.infinity,
      height: double.infinity,
      decoration: _buildBackgroundDecoration(),
      child: Center(
        // 只保留Logo，删除所有文字信息
        child: _buildAppLogo(),
      ),
    );
  }

  // 构建背景装饰 - 纯黑色背景
  BoxDecoration _buildBackgroundDecoration() {
    return const BoxDecoration(
      color: Colors.black, // 使用纯黑色背景
    );
  }

  // 构建应用Logo
  Widget _buildAppLogo() {
    return const SplashLogo(
      size: 120,
      imagePath: AssetsImages.logoPng,  // 使用图片资源
      icon: Icons.flutter_dash,         // 图片加载失败时的回退图标
      iconSize: 70,
      backgroundColor: Colors.white,
      iconColor: Colors.deepPurple,
      showShadow: true,
      imageFit: BoxFit.contain,         // 图片适配方式
    );
  }

  // 构建应用标题
  Widget _buildAppTitle() {
    return Obx(() {
      // 直接使用PackageInfoService服务
      final packageInfoService = Get.find<PackageInfoService>();
      return Column(
        children: [
          Text(
            packageInfoService.isInitialized ? packageInfoService.displayName : 'Flutter Standard Project',
            style: const TextStyle(
              fontSize: 28,
              fontWeight: FontWeight.bold,
              color: Colors.white,
              letterSpacing: 1.2,
            ),
          ),
          const SizedBox(height: 8),
          Text(
            packageInfoService.isInitialized ? packageInfoService.packageName : 'Flutter Standard Project',
            style: const TextStyle(
              fontSize: 16,
              color: Colors.white70,
              letterSpacing: 0.8,
            ),
          ),
        ],
      );
    });
  }

  // 构建应用版本
  Widget _buildAppVersion() {
    return Obx(() => Container(
      padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 6),
      decoration: BoxDecoration(
        color: Colors.white.withValues(alpha: 0.2),
        borderRadius: BorderRadius.circular(15),
        border: Border.all(
          color: Colors.white.withValues(alpha: 0.3),
          width: 1,
        ),
      ),
      child: Obx(() {
        final packageInfoService = Get.find<PackageInfoService>();
        return Text(
          packageInfoService.versionText,
          style: const TextStyle(
            fontSize: 14,
            color: Colors.white,
            fontWeight: FontWeight.w500,
          ),
        );
      }),
    ));
  }

  // 构建倒计时区域（隐藏UI，保留后台倒计时逻辑）
  Widget _buildCountdownSection() {
    return Obx(() {
      if (controller.isLoading.value) {
        return const SizedBox(height: 60); // 隐藏加载文本，保持布局平衡
      }
      
      // 隐藏倒计时显示，只保留空白区域
      if (controller.isCountdownActive.value) {
        return const SizedBox(height: 60); // 保持布局平衡的空白区域
      }
      
      return _buildReadyText();
    });
  }

  // 构建加载文本 (已隐藏UI显示)
  // Widget _buildLoadingText() {
  //   return const Column(
  //     children: [
  //       Text(
  //         '初始化中...',
  //         style: TextStyle(
  //           fontSize: 18,
  //           color: Colors.white70,
  //           fontWeight: FontWeight.w500,
  //         ),
  //       ),
  //       SizedBox(height: 8),
  //       Text(
  //         '正在准备应用',
  //         style: TextStyle(
  //           fontSize: 14,
  //           color: Colors.white60,
  //         ),
  //       ),
  //     ],
  //   );
  // }

  // 构建倒计时数字 (已隐藏UI显示)
  // Widget _buildCountdownNumber() {
  //   return CountdownCircle(
  //     size: 80,
  //     borderWidth: 2,
  //     backgroundColor: Colors.white.withValues(alpha: 0.2),
  //     borderColor: Colors.white.withValues(alpha: 0.4),
  //     textColor: Colors.white,
  //     fontSize: 36,
  //   );
  // }

  // 构建倒计时文本 (已隐藏UI显示)
  // Widget _buildCountdownText() {
  //   return const Column(
  //     children: [
  //       Text(
  //         '秒后自动进入',
  //         style: TextStyle(
  //           fontSize: 16,
  //           color: Colors.white70,
  //           fontWeight: FontWeight.w500,
  //         ),
  //       ),
  //       SizedBox(height: 4),
  //       Text(
  //         '点击跳过等待',
  //         style: TextStyle(
  //           fontSize: 12,
  //           color: Colors.white60,
  //         ),
  //       ),
  //     ],
  //   );
  // }

  // 构建准备完成文本（简化显示）
  Widget _buildReadyText() {
    return const SizedBox(height: 60); // 简化为空白区域，保持布局平衡
  }

  // 构建跳过按钮 (已隐藏UI显示，点击整个页面仍可跳过)
  // Widget _buildSkipButton() {
  //   return GestureDetector(
  //     onTap: controller.skipCountdown,
  //     child: Container(
  //       padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12),
  //       decoration: BoxDecoration(
  //         color: Colors.white.withValues(alpha: 0.2),
  //         borderRadius: BorderRadius.circular(25),
  //         border: Border.all(
  //           color: Colors.white.withValues(alpha: 0.4),
  //           width: 1,
  //         ),
  //       ),
  //       child: Row(
  //         mainAxisSize: MainAxisSize.min,
  //         children: [
  //           const Icon(
  //             Icons.skip_next,
  //             color: Colors.white,
  //             size: 20,
  //           ),
  //           const SizedBox(width: 8),
  //           const Text(
  //             '跳过',
  //             style: TextStyle(
  //               color: Colors.white,
  //               fontSize: 16,
  //               fontWeight: FontWeight.w500,
  //             ),
  //           ),
  //         ],
  //       ),
  //     ),
  //   );
  // }

  // 构建加载指示器 (已隐藏UI显示)
  Widget _buildLoadingIndicator() {
    return const SizedBox.shrink(); // 隐藏所有加载指示器UI
  }

  // 构建进度指示器 (已隐藏UI显示)
  // Widget _buildProgressIndicator() {
  //   return SplashProgressIndicator(
  //     width: 200,
  //     height: 4,
  //     backgroundColor: Colors.white.withValues(alpha: 0.3),
  //     progressColor: Colors.white,
  //     textColor: Colors.white60,
  //     showPercentage: true,
  //   );
  // }

  // 构建底部信息
  Widget _buildBottomInfo() {
    return Positioned(
      bottom: 50,
      left: 0,
      right: 0,
      child: Column(
        children: [
          _buildCopyright(),
          const SizedBox(height: 16),
          _buildStartupInfo(),
        ],
      ),
    );
  }

  // 构建版权信息
  Widget _buildCopyright() {
    return const Text(
      '© 2025 Flutter Standard Project',
      style: TextStyle(
        fontSize: 12,
        color: Colors.white60,
      ),
    );
  }

  // 构建版本信息
  Widget _buildStartupInfo() {
    return Obx(() {
      // 直接使用PackageInfoService服务
      final packageInfoService = Get.find<PackageInfoService>();
      return Text(
        packageInfoService.isInitialized ? packageInfoService.versionText : 'v1.0.0',
        style: TextStyle(
          fontSize: 10,
          color: Colors.white.withValues(alpha: 0.5),
        ),
      );
    });
  }

  @override
  Widget build(BuildContext context) {
    // 设置闪屏页面专用的状态栏样式 - 深色背景使用浅色图标
    SystemUIUtils.setTransparentStatusBarLight();
    
    return GetBuilder<SplashController>(
      // ❌ 不要在这里初始化Controller！
      // Controller应该由Binding统一管理
      // init: SplashController(),
      id: "splash",
      builder: (_) {
        return Scaffold(
          // 无AppBar，全屏显示
          body: GestureDetector(
            onTap: controller.onTap, // 点击整个页面都可以跳过
            child: _buildView(),
          ),
        );
      },
    );
  }
}
